#include <iostream>
#include <unordered_map>
using namespace std;
const int mod = 1e9 + 7;
int main()
{
    int n; cin >> n;
    unordered_map<int, int> cnt;
    while(n--)
    {
        int cur; cin >> cur;
        for(int i = 2; i <= cur / i; ++i)
        {
            while(cur && cur % i == 0)
            {
                ++cnt[i];
                cur /= i;
            }
        }
        if(cur > 1) ++cnt[cur];
        // for(auto& e : cnt) cout << e.first << ' ' << e.second << endl; cout << endl;
    }
    unsigned long long ans = 1;
    for(auto& e : cnt) ans = (ans * (e.second + 1)) % mod;
    cout << ans;
    return 0;
}